"""
主程序模块 - 负责程序入口和主循环控制
作者：A同学（组长）
功能：
1. 显示主菜单
2. 协调各模块功能调用
3. 处理用户输入
"""

import item_manager
import user_items
import storage_manager


def display_main_menu():
    """显示主菜单"""
    print("\n\033[1;35m===== 校园二手物品交换平台 🛍️ =====")
    print("1. ✨ 发布闲置物品")
    print("2. 🔍 浏览/搜索物品")
    print("3. 📦 查看我发布的物品")
    print("4. 🛠️ 管理我的物品")
    print("5. 👋 退出程序")


def main_loop():
    """主程序入口"""
    print("\n\033[1;32m欢迎使用校园二手物品交换平台！")
    print("♻️ 让闲置流动，环保省钱，打造绿色校园生活圈！\n")

    items = storage_manager.load_all_items_from_file()

    while True:
        display_main_menu()
        choice = input("\033[0m请选择功能（1-5）: ").strip()

        if choice == '1':
            new_item = item_manager.post_new_item_interaction()
            if new_item:
                storage_manager.save_item_to_file(new_item)
                items = storage_manager.load_all_items_from_file()
        elif choice == '2':
            item_manager.browse_or_search_items_interaction(items)
        elif choice == '3':
            user_items.view_my_posted_items_interaction(items)
        elif choice == '4':
            user_items.manage_my_items_interaction(items, storage_manager.update_item_in_file)
        elif choice == '5':
            print("\n\033[1;34m感谢使用校园二手物品交换平台，再见！ 🌟")
            break
        else:
            print("\033[1;31m无效的选择，请重新输入！ ❌")


if __name__ == "__main__":
    main_loop()